Given existing translation processes, a user asks a natural language (NL) query, and the NL query is interpreted using domain ontology to generate one or more interpretations, which represent the semantics of the NL query. The interpretations can be translated to a given language and executed against a data store to produce an output. However, with such approaches, it can be difficult to determine if a given interpretation is correct. Further, such approaches include an inability to express the semantics of complex interpretation(s) to the user in a readable fashion.